IA64_GRANT_TABLE_PADDR constant added to avoid use of hard-coded value.
translate_domain_pte uses it as well as ORDER_GRANT_FRAMES to filter error
message.
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
#include <asm/dom_fw.h>
#include <public/sched.h>
-static struct ia64_boot_param *dom_fw_init(struct domain *, char *,int,char *,int);
+static struct ia64_boot_param *dom_fw_init(struct domain *, const char *,int,char *,int);
extern unsigned long domain_mpa_to_imva(struct domain *,unsigned long mpaddr);
extern struct domain *dom0;
extern unsigned long dom0_start;
}
static struct ia64_boot_param *
-dom_fw_init (struct domain *d, char *args, int arglen, char *fw_mem, int fw_mem_size)
+dom_fw_init (struct domain *d, const char *args, int arglen, char *fw_mem, int fw_mem_size)
{
efi_system_table_t *efi_systab;
efi_runtime_services_t *efi_runtime;
}
}
else if ((mpaddr >> PAGE_SHIFT) > d->max_pages) {
- if ((mpaddr & ~0x1fffL ) != (1L << 40))
- printf("translate_domain_pte: bad mpa=0x%lx (> 0x%lx),vadr=0x%lx,pteval=0x%lx,itir=0x%lx\n",
- mpaddr, (unsigned long) d->max_pages<<PAGE_SHIFT, address, pteval, itir);
+ /* Address beyond the limit. However the grant table is
+ also beyond the limit. Display a message if not in the
+ grant table. */
+ if (mpaddr >= IA64_GRANT_TABLE_PADDR
+ && mpaddr < (IA64_GRANT_TABLE_PADDR
+ + (ORDER_GRANT_FRAMES << PAGE_SHIFT)))
+ printf("translate_domain_pte: bad mpa=0x%lx (> 0x%lx),"
+ "vadr=0x%lx,pteval=0x%lx,itir=0x%lx\n",
+ mpaddr, (unsigned long)d->max_pages<<PAGE_SHIFT,
+ address, pteval, itir);
tdpfoo();
}
pteval2 = lookup_domain_mpa(d,mpaddr);
#define gnttab_create_shared_page(d, t, i) ((void)0)
+/* Guest physical address of the grant table. */
+#define IA64_GRANT_TABLE_PADDR (1UL << 40)
+
#define gnttab_shared_gmfn(d, t, i) \
( ((d) == dom0) ? \
((virt_to_maddr((t)->shared) >> PAGE_SHIFT) + (i)) : \
- (assign_domain_page((d), 1UL<<40, virt_to_maddr((t)->shared)), \
- 1UL << (40 - PAGE_SHIFT)) \
+ (assign_domain_page((d), IA64_GRANT_TABLE_PADDR, \
+ virt_to_maddr((t)->shared)), IA64_GRANT_TABLE_PADDR >> PAGE_SHIFT) \
)
#define gnttab_log_dirty(d, f) ((void)0)